BOOL			T_BOOL
LONG			T_IV
HKEY			T_UV
HANDLE			T_UV
DWORD			T_UV
oDWORD			O_UV
UINT			T_UV
REGSAM			T_UV
SECURITY_INFORMATION	T_UV
char *			T_BUF
WCHAR *			T_BUF
BYTE *			T_BUF
void *			T_BUF
ValEntA *		T_BUF
ValEntW *		T_BUF
SECURITY_DESCRIPTOR *	T_BUF
SECURITY_ATTRIBUTES *	T_BUF
LPOVERLAPPED		T_BUF
LONG *			T_IVBUF
DWORD *			T_UVBUF
LPDWORD			T_UVBUF
oDWORD *		O_UVBUF
HKEY *			T_UVBUFP
oHKEY *			O_UVBUFP
FILETIME *		T_SBUF

#############################################################################
INPUT
T_BOOL
	$var= null_arg($arg)||!SvTRUE($arg) ? ($type)0 : looks_like_number($arg) ? ($type)SvIV($arg) : ($type)1
T_BUF
	if(  null_arg($arg)  )
	    $var= NULL;
	else
	    $var= ($type) SvPV_nolen( $arg )
T_SBUF
	grow_buf( $var,$arg, $type )
T_IV
	$var= null_arg($arg) ? ($type)0 : INT2PTR($type,SvIV($arg))
T_UV
	$var= null_arg($arg) ? ($type)0 : INT2PTR($type,SvUV($arg))
O_IV
	$var= optIV($arg)
O_UV
	$var= optUV($arg)
T_IVBUF
	if(  null_arg($arg)  )
	    $var= NULL;
	else
	    *( $var= ($type) TempAlloc( sizeof(*($var)) ) )= SvIV($arg)
T_UVBUF
	if(  null_arg($arg)  )
	    $var= NULL;
	else
	    *( $var= ($type) TempAlloc( sizeof(*($var)) ) )= SvUV($arg)
O_IVBUF
	if(  null_arg($arg)  )
	    $var= NULL;
	else
	    *( $var= ($type) TempAlloc( sizeof(*($var)) ) )=
	      SvOK($arg) ? SvIV($arg) : 0;
O_UVBUF
	if(  null_arg($arg)  )
	    $var= NULL;
	else
	    *( $var= ($type) TempAlloc( sizeof(*($var)) ) )=
	      SvOK($arg) ? SvUV($arg) : 0;
T_IVBUFP
	if(  null_arg($arg)  )
	    $var= NULL;
	else
	    *( $var= ($type) TempAlloc( sizeof(*($var)) ) )= (void *)SvIV($arg)
T_UVBUFP
	if(  null_arg($arg)  )
	    $var= NULL;
	else
	    *( $var= ($type) TempAlloc( sizeof(*($var)) ) )= (void *)SvUV($arg)
O_IVBUFP
	if(  null_arg($arg)  )
	    $var= NULL;
	else
	    *( $var= ($type) TempAlloc( sizeof(*($var)) ) )=
	      SvOK($arg) ? (void *)SvIV($arg) : 0;
O_UVBUFP
	if(  null_arg($arg)  )
	    $var= NULL;
	else
	    *( $var= ($type) TempAlloc( sizeof(*($var)) ) )=
	      SvOK($arg) ? (void *)SvUV($arg) : 0;

#############################################################################
OUTPUT
T_BOOL
	if(  ! null_arg($arg)  &&  ! SvREADONLY($arg)  ) {
	    if(  $var  ) {
		sv_setiv( $arg, (IV)$var );
	    } else {
		sv_setsv( $arg, &PL_sv_no );
	    }
	}
T_BUF
	;
T_SBUF
	trunc_buf( RETVAL, $var,$arg );
T_IV
	if(  ! null_arg($arg)  &&  ! SvREADONLY($arg)  )
	    sv_setiv( $arg, PTR2IV($var) );
T_UV
	if(  ! null_arg($arg)  &&  ! SvREADONLY($arg)  )
	    sv_setuv( $arg, PTR2UV($var) );
O_IV
	if(  ! null_arg($arg)  )
	    sv_setiv( $arg, PTR2IV($var) );
O_UV
	if(  ! null_arg($arg)  )
	    sv_setuv( $arg, PTR2UV($var) );
T_IVBUF
	if(  ! null_arg($arg)  &&  ! SvREADONLY($arg)  )
	    sv_setiv( $arg, (IV)*($var) );
T_UVBUF
	if(  ! null_arg($arg)  &&  ! SvREADONLY($arg)  )
	    sv_setuv( $arg, (UV)*($var) );
O_IVBUF
	if(  ! null_arg($arg)  )
	    sv_setiv( $arg, (IV)*($var) );
O_UVBUF
	if(  ! null_arg($arg)  )
	    sv_setuv( $arg, (UV)*($var) );
T_IVBUFP
	if(  ! null_arg($arg)  &&  ! SvREADONLY($arg)  )
	    sv_setiv( $arg, (IV)*($var) );
T_UVBUFP
	if(  ! null_arg($arg)  &&  ! SvREADONLY($arg)  )
	    sv_setuv( $arg, (UV)*($var) );
O_IVBUFP
	if(  ! null_arg($arg)  )
	    sv_setiv( $arg, (IV)*($var) );
O_UVBUFP
	if(  ! null_arg($arg)  )
	    sv_setuv( $arg, (UV)*($var) );
